{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#函数形式\n",
    "#tanh=(e^x-e^-x)/(e^x+e^-x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAAHICAYAAABXk5v/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xl8VOXZ//HPZJ2sEAJhCRAIQVQgIARkEQyIiHWtoggVN6qI1tqi/bVai0u1Pm3V2kdbt0etUlFqQbQWQUCiIJthCSRsAcKSACF7yJ5Zfn+cJCQkQAIzOZnJ9/16jTM59z3nXDOMc841932uY3E6nYiIiIiIiIjr+JgdgIiIiIiIiLdRoiUiIiIiIuJiSrRERERERERcTImWiIiIiIiIiynREhERERERcTElWiIiIiIiIi6mREtERERERMTFlGiJiIiIiIi4mBItERERERERF/NrYX+nW6IQERFphilTprBs2TKzwxARkfbN0pxOGtESERGPkZuba3YIIiIizaJES0RERERExMWUaImIiIiIiLiYEi0REREREREXa2kxjEaqq6vJzMykoqLCFfF4NavVSs+ePfH39zc7FBERERERcaMLTrQyMzMJCwujT58+WCzNKsDRLjmdTvLy8sjMzKRv375mhyMiIiIiIm50wVMHKyoqiIyMVJJ1DhaLhcjISI38iYiIiIi0Ay45R0tJVvPofRIRERERaR+8ohiGw+HA4XCYHoOIiIiIiAi44ByttmDp0qW8/PLL+Pr61i0rLi7mhx9+4A9/+ANPPPEE8+bNY8KECaxcuZKwsDAefvhhpk6dytKlS+ueZ7fbiYyMJCEhATDOq6o/CrV161aysrKwWq04HA7GjBnD6tWrWbZsGUuWLOGDDz5o3RcuIiIiIiJtklckWtdffz3XX389AAUFBbz22musW7eO5cuXM3nyZEpKSggPD2f9+vWcOHGC48ePc+jQIUJCQvD19a0bjfL19SU+Pp6VK1dy5MgR7rnnHlauXFm3nUmTJtVVDFy1ahUDBgxg165dzJ07l5iYGAYPHsyVV17J66+/3vpvgoiIiIiItBleMXUQ4K233uK7777jhx9+oKCggPfff5+qqioAioqKyMvL48UXX2T37t107tyZ119/nX379jF+/Hh69uxJcnIyAD4+PjidTh566CHKy8tJTEykV69elJeXA9SNfv3pT39i9OjRPPHEE8THx3PzzTfTu3dvYmJiuOOOO8x5E0REREREpE1w6YjWs/9JY+fRYleukkt7hPP0DQPP2ufuu+/mtddeY+bMmTz00ENERUUxffp0nn/+ee644w5effVVDh48yGOPPcaePXs4fvw427dv54UXXiAuLo633nqLkSNH1q3vgw8+IDIyEqvVSlRUFM888wxBQUF17R999BEVFRVYrVaee+45pk2bxsGDBykrK6O0tJRdu3a59D0QERERERHP4hVTBw8fPkx4eDjvvvsu27Ztw26389e//pUhQ4bwxBNPYLPZePrpp5k/fz5z587F39+fJ598ks2bNxMQEEBsbGyD9V177bVYLBYWLlzIvn37WL9+PR06dKhrHz9+PEFBQRQXFxMTE8OMGTNYtGgRq1evJjU1lbKystZ+C0REREREpA1xaaJ1rpEnd/Hx8WHt2rU888wzzJ49m5ycHO6//34+/PBDfH19OXToEE899RTp6emkpKSwbds2MjIyuOWWWwAjsapv+fLlBAcHM3r0aLKysoiKiiItLa2uvVevXqSlpVFcXMyLL75I//79iY+P55prrsFut7N+/fpWff0iIiIiItK2eMU5WhaLhS1btvDee+9x6NAh4uLimD9/Pp9++ikAY8eO5fbbb+eqq67izjvv5Cc/+Qn+/v4MGzaMJUuWMGLEiAbru+uuu4iOjqakpITBgwczbdo07rzzzia3HRAQQEpKCgkJCZw8eZKHH36YhQsXuv01i4iIiIhI2+UViZbD4eDnP/85/v7+5ObmMmPGDAYMGMDvfve7uj4PPvggV111Fc8//zypqalkZGSQlpZGYGAgW7Zsqetnt9sBGDNmDNOmTWP37t1kZWXVtdtstrptAkyYMIH8/Hw6d+7MbbfdxpQpU/juu+/Ytm1ba7x0ERERERFpg7ziHK3OnTuTmJhY9/ett95a9zgzM5OCggLmzJlDbGwsGzZsYOfOndx777289NJLdO3alalTp7JgwQL69u3L9u3bG6wLYPbs2QCkpKRQXV2Nn58f5eXldVUNX3nlFT7//HPWrVvHH//4RxYsWOD21ywi0tZkZ2czdepU1qxZ02R7dXU1t9xyC/n5+cyaNYv77ruvyWUiIiLewOJ0OlvSv1HnXbt2cckll7guIjex2Wz4+Rl5pdPp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\n",
      "text/plain": [
       "<Figure size 1080x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import math\n",
    "plt.figure(figsize=(15,8))\n",
    "#指定默认字体\n",
    "matplotlib.rcParams['font.sans-serif'] = ['SimHei']\n",
    "matplotlib.rcParams['font.family']='sans-serif'\n",
    "#解决负号'-'显示为方块的问题\n",
    "matplotlib.rcParams['axes.unicode_minus'] = False\n",
    "ax = plt.gca() # get current axis 获得坐标轴对象\n",
    "ax.spines['right'].set_color('none') \n",
    "ax.spines['top'].set_color('none') # 将右边上边的两条边颜色设置为空 其实就相当于抹掉这两条边\n",
    "ax.xaxis.set_ticks_position('bottom')   \n",
    "ax.yaxis.set_ticks_position('left')# 指定下边的边作为 x 轴 指定左边的边为 y 轴\n",
    "ax.spines['bottom'].set_position(('data', 0))  #指定data 设置的bottom(也就是指定的x轴)绑定到y轴的0这个点上\n",
    "ax.spines['left'].set_position(('data', 0))\n",
    "x = torch.linspace(-10,10,5000)\n",
    "xx = (math.e**x-math.e**-x)/(math.e**x+math.e**(-x))\n",
    "#函数图像\n",
    "l1,=plt.plot(x.numpy(),xx.numpy())\n",
    "#导数图像\n",
    "l2,=plt.plot(x.numpy(),(1-xx**2).numpy(),\"--\")\n",
    "plt.legend(handles=[l1,l2],labels = [\"函数图像\",\"导数图像\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([-1.,  0.,  1.])\n",
      "tensor([-0.7616,  0.0000,  0.7616])\n",
      "tensor([-0.7616,  0.0000,  0.7616])\n"
     ]
    }
   ],
   "source": [
    "a = torch.Tensor([-1,0,1])\n",
    "print(a)\n",
    "print(torch.tanh(a))\n",
    "print(a.tanh())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
